home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / lib / calc / help / config < prev    next >
Text File  |  1995-07-17  |  4KB  |  92 lines

  1. Configuration parameters
  2.  
  3.     Configuration parameters affect how the calculator performs certain
  4.     operations, and affects all future calculations.  These parameters
  5.     affect the accuracy of calculations, the displayed format of results,
  6.     and which algorithms are used for calculations.  The parameters are
  7.     read or set using the "config" built-in function.  The following
  8.     parameters can be specified:
  9.  
  10.         "trace"        turns tracing on or off (for debugging).
  11.         "display"    sets number of digits in prints.
  12.         "epsilon"    sets error value for transcendentals.
  13.         "maxprint"    sets maximum number of elements printed.
  14.         "mode"        sets printout mode.
  15.         "mul2"        sets size for alternative multiply.
  16.         "sq2"        sets size for alternative squaring.
  17.         "pow2"        sets size for alternate powering.
  18.         "redc2"        sets size for alternate REDC.
  19.  
  20.     The use of the trace flag is for debugging, and its meaning may
  21.     change in the future.  A value of 1 causes the calculator to print
  22.     its internal opcodes as it executes functions.  A value of zero
  23.     disables tracing again.
  24.  
  25.     Display specifies how many digits after the decimal point should
  26.     be printed when printing real or exponential numbers.  The initial
  27.     display value is 20.  This parameter does not affect the accuracy
  28.     of a calculation, since it only has meaning when printing results.
  29.  
  30.     Epsilon specifies the required precision of calculations by
  31.     setting the maximum allowed error for transcendental functions.
  32.     The error is an absolute error value for many functions, but
  33.     for some functions it is a relative error.  The initial value
  34.     is 1e-20.  Functions which require an epsilon value accept an
  35.     optional argument which overrides this default epsilon value for
  36.     that single call.  The built-in function "epsilon" also can be
  37.     used to read or set this value, and is provided for ease of use.
  38.  
  39.     Mode specifies how numbers should be printed.  Mode is a string
  40.     value indicating the printout method.  The initial mode is "real".
  41.     Possible modes are:
  42.  
  43.         "frac"        decimal fractions
  44.         "int"        decimal integer
  45.         "real"        decimal floating point
  46.         "exp"        decimal exponential
  47.         "hex"        hex fractions
  48.         "oct"        octal fractions
  49.         "bin"        binary fractions
  50.  
  51.     Maxprint specifies the maximum number of elements to be displayed
  52.     when a matrix or list is printed.  The initial value is 16 elements.
  53.  
  54.     Mul2 and sq2 specify the sizes of numbers at which calc switches
  55.     from its first to its second algorithm for multiplying and squaring.
  56.     The first algorithm is the usual method of cross multiplying, which
  57.     runs in a time of O(N^2).  The second method is a recursive and
  58.     complicated method which runs in a time of O(N^1.585).  The argument
  59.     for these parameters is the number of binary words at which the
  60.     second algorithm begins to be used.  The minimum value is 2, and
  61.     the maximum value is very large.  If 2 is used, then the recursive
  62.     algorithm is used all the way down to single digits, which becomes
  63.     slow since the recursion overhead is high.  If a number such as
  64.     1000000 is used, then the recursive algorithm is never used, causing
  65.     calculations for large numbers to slow down.  For a typical example
  66.     on a 386, the two algorithms are about equal in speed for a value
  67.     of 20, which is about 100 decimal digits.  A value of zero resets
  68.     the parameter back to its default value.  Usually there is no need
  69.     to change these parameters.
  70.  
  71.     Pow2 specifies the sizes of numbers at which calc switches from
  72.     its first to its second algorithm for calculating powers modulo
  73.     another number.  The first algorithm for calculating modular powers
  74.     is by repeated squaring and multiplying and dividing by the modulus.
  75.     The second method uses the REDC algorithm given by Peter Montgomery
  76.     which avoids divisions.  The argument for pow2 is the size of the
  77.     modulus at which the second algorithm begins to be used.
  78.  
  79.     Redc2 specifies the sizes of numbers at which calc switches from
  80.     its first to its second algorithm when using the REDC algorithm.
  81.     The first algorithm performs a multiply and a modular reduction
  82.     together in one loop which runs in O(N^2).  The second algorithm
  83.     does the REDC calculation using three multiplies, and runs in
  84.     O(N^1.585).  The argument for redc2 is the size of the modulus at
  85.     which the second algorithm begins to be used.
  86.  
  87.     Examples of setting some parameters are:
  88.  
  89.         config("mode", "exp");        exponential output
  90.         config("display", 50);        50 digits of output
  91.         epsilon(epsilon() / 8);        3 bits more accuracy
  92.